package oracle;

import java.sql.*;

/**
 * JDBC链接oracle数据库火
 * 开发步骤:
 * 1.加载驱动--Oracle---oracle.jdbc.OracleDriver
 *            Mysql---com.mysql.jdbc.Driver
 * 2.获取链接--链接成功数据库的对象--Connection对象
 * 3.执行SQL语句【查询操作】
 *   ①oracle建表 login表  3个字段  序号、姓名、手机号
 *   ②编写静态sql:查询 select * from login;
 *   ③链接数据库同时获取：执行数据库对象：Statement对象
 * 4.执行SQL操作
 * 5.处理结果
 * 6.释放资源:结果集对象、执行SQL对象、获取链接数据库对象
 *
 */
/*作业：参考MysqlJDBC 增加数据*/
public class OracleJDBC {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.加载驱动
        Class.forName("oracle.jdbc.OracleDriver");
        //2.获取链接【准备工作】
        String username="system";//Oracle用户
        String password="123456";//Oracle密码
        String url="jdbc:oracle:thin:@127.0.0.1:1521:XE";//
        Connection con=DriverManager.getConnection(url,username,password);
        //打桩--测试链接是否成功
        System.out.println("是否链接:"+con);





        //3.执行SQL语句 ②编写静态SQL:查询
        String sql="select * from LOGIN";
        //③链接成功数据库获取:执行数据库对象
        Statement st=con.createStatement();


        //作业添加数据
        //String ssql= "insert into login (id, name, phone) values ('4', '高文杰', '13800138000')";
        //String ssql= "insert into login (id, name, phone) values ('5', '睾文杰', '13800138000')";
        String ssql= "insert into login (id, name, phone) values ('6', '告文杰', '13800138000')";
        int rowsAffected  = st.executeUpdate(ssql);
        System.out.println("成功插入 " + rowsAffected + " 行数据！");





        //4.执行SQL操作---返回对象: ResultSet对象：保存查询所有结果集
        ResultSet rs=st.executeQuery(sql);
        //5.处理结果   死循环：循环所有的字段下记录
        while(rs.next()){ //next()获取当前表中所有的字段,有字段返回true
            //获取字段getInt()取数据库整型
            int id=rs.getInt("id");
            String name=rs.getString("name");
            String phone=rs.getString("phone");
            System.out.println("序号:"+id+"姓名"+name+"手机号："+phone);
        }

        //6.释放资源
        rs.close();
        st.close();
        con.close();
    }
}